{{template "header.html" .UIUtils.Slice "About GCSE" "about"}}
<div id="fb-root"></div>
<script>(function(d, s, id) {
  var js, fjs = d.getElementsByTagName(s)[0];
  if (d.getElementById(id)) return;
  js = d.createElement(s); js.id = id;
  js.src = "//connect.facebook.net/en_US/all.js#xfbml=1";
  fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));

window.fbAsyncInit = function() {
	FB.Event.subscribe('edge.create', like_callback);
	FB.Event.subscribe('edge.remove', unlike_callback);
}
</script>
{{define "aboutbody"}}
### Motivation

When I began to learn [Go](http://golang.org/) (or golang), I loved it. The integrated tooling for
importing directly from version control systems is exceptional useful. It allows
projects to be connected in an elegant manner. 

With so many brillant people contributing to the Go ecosystem, there is a lot of
"reinventing the wheel" happening. Due to the way Go does imports, a central 
clearing house like Maven or NPM is simply not needed. However, what is needed 
is a way to find the packages you need to import, and that is why GS, the
_Go Search_, was created. 
    
A search engine specifically designed for Go can help in the following ways:

* By analyzing the importing relations between projects, popular projects can be 
found. This gives a better ranking than a general search engine.
* Structured data for each package can be extracted: package path, name, 
synopsis, documentation, etc. Matching can be done in a better way.
* Package comments can be parsed and indexed.
* Stars (or watchers) of some sites are crawled to further help ranking.

### Project

This is an [open source project](https://github.com/daviddengcn/gcse) hosted
on [Github](http://github.com/).

GS mainly aims at searching function other than hosting the documents. So, the links to the [GoDoc](http://godoc.org/)
or that package and the original project are provided on the view page in a very convenient place.

If you find a bug, have a new idea or any other suggestion, please submit 
an [issue](https://github.com/daviddengcn/gcse/issues).

While creating GS, several supporting projects were created and are published.
Feel free to use them! 

* [go-index](https://github.com/daviddengcn/go-index): a text indexing package,
serving the index/search function in GS.
* [go-rpc](https://github.com/daviddengcn/go-rpc): an RPC service through HTTP 
protocol.

### Acknowledgement

GS [imports](/view?id={{urlquery "github.com/daviddengcn/gcse"}}#imports) (or forks) the 
following projects:

* [gddo](https://github.com/garyburd/gddo) by
[Gary Burd](http://gary.beagledreams.com/) for crawling. It's forked (for 
modification) to my [gddo](https://github.com/daviddengcn/gddo) project.
* [fsnotify](https://github.com/howeyc/fsnotify) by 
[Chris Howey](http://chris.howey.me) for monitoring folders.
* [go-stem](https://github.com/agonopol/go-stem) by 
[Alex Gonopolskiy](https://github.com/agonopol) for word stemming.
* [Bootstrap](http://getbootstrap.com/) for free UI framework.

Special thanks to following contributors

* [Robert Melton](https://github.com/robertmeta) for textual refining and code refactoring.
* [mipearson](https://github.com/mipearson) Readme enhancement
* [Michael Nagel](https://github.com/mnagel) Some good suggestion on UI.

### Contact us

{{end}}

{{markdown "aboutbody"}}
<div>
	Following the Facebook page for GS: <div class="fb-follow" data-href="https://www.facebook.com/gosearchengine" data-colorscheme="light" data-layout="button_count" data-show-faces="true"></div>
</div>

<div>
    Share it to your friends who also need it: 
    <div style="vertical-align: middle" class="fb-like" data-href="http://go-search.org/" data-send="false" data-layout="button_count" data-width="450" data-show-faces="true"></div>
    <div class="g-plusone" data-size="small" data-href="http://go-search.org/" data-callback="plusone_callback"></div>
</div>

<div>
    <div id="disqus_thread"></div>
    <script type="text/javascript">
        /* * * CONFIGURATION VARIABLES: EDIT BEFORE PASTING INTO YOUR WEBPAGE * * */
        var disqus_shortname = 'go-search'; // required: replace example with your forum shortname
        var disqus_identifier = 'about_page';

        function disqus_config() {
            console.log('disqus_config');
            this.callbacks.onNewComment = [function(comment) { 
            	console.log('comment_create_callback');
                ga('send', 'event', 'comment', 'about_page', 'create');
            }];
        }
        /* * * DON'T EDIT BELOW THIS LINE * * */
        (function() {
            var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
            dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
            (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
        })();
    </script>
    <noscript>Please enable JavaScript to view the <a href="https://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
</div>
</div>

{{template "searchbox.html" .UIUtils.Slice "" false}}

<script type="text/javascript">
  (function() {
    var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;
    po.src = 'https://apis.google.com/js/plusone.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);
  })();
</script>

<script>
function plusone_callback(e) {
    ga('send', 'event', 'plusone', 'go-search', e.state);
}
function like_callback(url, html_element) {
    ga('send', 'event', 'like', 'go-search', 'like');
}
function unlike_callback(url, html_element) {
    ga('send', 'event', 'like', 'go-search', 'unlike');
}
</script>
{{template "footer.html"}}
